Шрифт:
Интервал:
Закладка:
Тот факт, что многие из этих перестановок не имеют особой ценности, на самом деле очень важен для тех, кто создает виртуальные миры. Герою The Legend of Zelda не нужно лететь в космос, поэтому не требуется космическая физика. Игрокам Call of Duty не нужны байдарки, чары или выпечка - разработчик игры не создавал соответствующий код. Nintendo и Activision могли бы сосредоточить больше данных и кода на том, что нужно и полезно их виртуальным мирам, а не на бесконечных перестановках, которые имеют ограниченную практическую ценность для их игр.
При всей своей эффективности такой подход создает препятствия для создания виртуальных миров типа Metaverse, а особенно для обеспечения их совместимости. Например, в Microsoft Flight Simulator пилот может посадить вертолет рядом с футбольным полем, но при этом он не сможет посмотреть футбольный матч, не говоря уже о том, чтобы присоединиться к нему. Чтобы предложить такую функциональность, Microsoft пришлось бы с нуля создавать собственную футбольную систему, хотя многие разработчики уже сделали это и, имея многолетний опыт, скорее всего, лучше справятся. Хотя MSFS могла бы попытаться интегрироваться в эти специфические для футбола виртуальные миры, структуры данных и коды с каждой стороны, скорее всего, будут несовместимы. В главах о сетях и вычислениях выше я говорил о том, что устройства пользователей часто выполняют одну и ту же работу. Но если можно провести сравнение, то разработчикам, надо сказать, приходится еще хуже. Они постоянно создают и перестраивают все - от футбольного поля до футбольного мяча и даже правил полета футбольного мяча в воздухе. Более того, с каждым годом эта работа становится все сложнее, поскольку создатели виртуальных миров стремятся использовать преимущества более совершенных процессоров и графических процессоров. По данным Nexon, одного из крупнейших в мире издателей видеоигр, среднее количество штатных сотрудников для экшена с открытым миром (вспомните The Legend of Zelda или Assassin's Creed) выросло примерно с 1000 человек в 2007 году до более 4000 к 2018 году, а бюджеты увеличились в 10 раз (примерно в два с половиной раза быстрее).1
Чтобы услышать, как падают деревья, чтобы они падали рядом с футбольными полями и чтобы звук их падения добавлялся к реву толпы, реагирующей на победный тачдаун, требуется множество программистов, пишущих множество кода для обработки огромного количества данных, и все они работают одинаковыми способами.
Теперь, когда мы рассмотрели сетевые и вычислительные мощности, необходимые для обмена, запуска и визуализации данных и кода, необходимых для Metaverse, мы можем перейти к последним понятиям.
Игровые движки
Концепция, история и будущее Metaverse тесно связаны с играми, как мы уже видели, и этот факт, пожалуй, наиболее очевиден, когда мы смотрим на основной код виртуальных миров. Этот код обычно содержится в "игровом движке" - расплывчатом термине, обозначающем совокупность технологий и фреймворков, которые помогают создавать игру, рендерить ее, обрабатывать логику и управлять памятью. В упрощенном понимании игровой движок - это то, что устанавливает виртуальные законы вселенной - набор правил, определяющий все взаимодействия и возможности.
Исторически сложилось так, что все геймдизайнеры создавали и поддерживали свои собственные игровые движки. Но за последние пятнадцать лет появилась альтернатива: лицензирование движка от Epic Games, которая выпускает Unreal Engine, или от Unity Technologies, которая выпускает одноименный движок.
Использование этих движков связано с определенными расходами. Например, Unity взимает ежегодную плату с каждого разработчика, использующего ее. Эта плата варьируется от 400 до 4 000 долларов, в зависимости от требуемых функций и размера компании разработчика. Unreal обычно взимает 5 % от чистой выручки. Плата - не единственная причина для создания собственного движка. Некоторые разработчики считают, что если делать это для определенного игрового жанра или опыта, например реалистичных и быстро развивающихся шутеров от первого лица, то их игры будут "лучше" ощущаться или лучше работать. Других беспокоит необходимость полагаться на конвейеры и приоритеты другой компании, а также то, что поставщик имеет столь подробное представление об их игре и ее производительности. Учитывая эти опасения, крупные издатели обычно создают и поддерживают собственные движки (некоторые, такие как Activision и Square Enix, даже имеют полдюжины или более).
Большинство разработчиков, однако, считают, что лицензирование и последующая настройка Unreal или Unity - это чистый плюс. Лицензирование позволяет небольшой или неопытной команде создать игру на более мощном и тщательно протестированном движке, чем тот, который они когда-либо могли создать, и при этом вероятность неудач меньше, а бюджет никогда не превысит запланированный. Кроме того, они могут уделить больше времени тому, что будет отличать их виртуальный мир - дизайну уровней, персонажей, геймплею и т. д., - а не базовым технологиям, необходимым для его запуска. И вместо того чтобы нанимать разработчика и обучать его работе с проприетарным движком, они могут обратиться к миллионам индивидуальных разработчиков, уже знакомых с Unity или Unreal, и сразу же приступить к работе. По тем же причинам проще интегрировать сторонние инструменты. Независимый стартап, создающий, скажем, программное обеспечение для отслеживания лиц аватаров в видеоиграх, не будет разрабатывать свое решение для работы с проприетарным движком, который он никогда не использовал, а вместо этого будет работать с теми, которые выбрало наибольшее количество разработчиков.
Хорошая аналогия - проектирование и строительство дома. Ни архитектор, ни декоратор не разрабатывают собственные размеры пиломатериалов, монтажную фурнитуру, системы измерений, рамки чертежей или инструменты. Это не только позволяет сосредоточиться на творческой работе, , но и облегчает наем плотников, электриков и сантехников. Если дом когда-нибудь потребует ремонта, другой команде будет легче изменить существующую структуру, потому что им не нужно изучать новые техники, инструменты или системы.
Однако у этой аналогии есть один существенный недостаток. Дома строятся один раз и в одном месте. Игры же создаются для работы на максимально возможном количестве устройств и операционных систем - некоторые из них еще не разработаны, не говоря уже о выпуске. В результате игры должны быть совместимы, скажем, с разными стандартами напряжения (например, 240 вольт в Великобритании и 120 вольт в Америке), системами измерения (имперская и метрическая), условными обозначениями (провода воздушной телефонии и подземные провода) и так далее. Unity